iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0
自我挑戰組

python的撞坑紀錄系列 第 9

Select與Slider

  • 分享至 

  • xImage
  •  

Select

跳過 RangeSlider 的部分,select比較常用到。

先定義選項。

options: List[str] = ["Option 1", "Option 2", "Option 3"]


class SelectState(rx.State):
    option: str = "No selection yet."

def index():
    return rx.vstack(
        rx.heading(SelectState.option),
        rx.select(
            options,
            placeholder="Select an example.",
            on_change=SelectState.set_option,
            color_schemes="twitter",
        ),
    )

這時候網頁應該會出現一個可供選擇的下拉式選單,不過官網有給出一個比較漂亮點的選單樣式。

def index():
    return rx.vstack(
        rx.heading(SelectState.option),
        rx.select(
            options,
            placeholder="Select an example.",
            on_change=SelectState.set_option,
            bg="#68D391",
            border_color="#38A169",
        ),
    )

跑出來長這樣
https://ithelp.ithome.com.tw/upload/images/20230920/20141325wmpczLUMTw.png

Slider

不多說,這邊直接上碼。

class SliderCombo(rx.State):
    value: int = 50
    color: str = "black"

    def set_start(self):
        self.color = "#68D391"

    def set_end(self):
        self.color = "#F56565"


def index():
    return rx.vstack(
        rx.heading(
            SliderCombo.value, color=SliderCombo.color
        ),
        rx.slider(
            on_change_start=SliderCombo.set_start,
            on_change=SliderCombo.set_value,
            on_change_end=SliderCombo.set_end,
        ),
        width="100%",
    )

官網上的截圖,途中拉動中間圓圈會使數字變換顏色。
https://ithelp.ithome.com.tw/upload/images/20230920/20141325D3XinlVrZl.png

如果你想要在滑動的時候看見狀態更改,就使用on_change,如果是在挪動滑桿結束後才要呈現結果,則使用on_change_end,裡面有許多參考或是種類可以做使用。


上一篇
Input與RadioGroup
下一篇
switch、DebounceInput
系列文
python的撞坑紀錄33
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言